package PTA_JAVA.Collection6.demo6;

import java.util.ArrayList;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        if (n == 0) {
            return;
        }
        ArrayList j = new ArrayList();
        ArrayList o = new ArrayList();
        for (int i = 0; i < n; i++) {
            int s = sc.nextInt();
            if (s % 2 != 0) {
                j.add(s);
            } else {
                o.add(s);
            }
        }
        int o1 = 0, j1 = 0, i = 0, f = 0;  //o1,j1分别计算 俩集合的索引 i作为判断条件 f用来存储剩余部分
        //以i=0开始, 判断俩集合是否有内容存在，第一次只输出其中之一
        if (i == 0 && j.size() >= 1) {
            System.out.print(j.get(0));
            j1 = 1;
            i++;
        }
        if (i == 0 && o.size() >= 1) {
            System.out.print(o.get(0));
            o1 = 1;
            i++;
        }
        //结束条件是 俩索引的大小=n，这是必然的，否则就会越界
        while ((o1 + j1) != n) {
                /*
                    情况1.j有1个 o有n个   判断i此时为何值：如果 i!=2 输出 1 个j 后输出所有的
                    情况2.j有1个 o有1个   如果i!=2 输出 j 后输出 o  如果 i==2 输出 o 后输出 j
                    情况3.j有n个 o有1个   如果i!=2 输出 1 个 j 后输出 o 然后继续输出所有的j  如果 i==2 则输出一个 o 再输出所有的 j
                    结论：根据i来判断优先输出哪个，如果某个长度为零，则全部输出另一个
                 */
            if (i != 2 && (j.size() - j1) > 0) {
                f = j.size() - j1;
                for (int i1 = 0; i1 < f; i1++) {
                    if (i == 2 || f == 0) {
                        break;
                    } else {
                        System.out.print(" " + j.get(j1));
                        j1++;
                        i++;
                    }
                }
            } else {
                i = 2;  //当不符合A条件时给B创建条件
            }

            if (i == 2 && (o.size() - o1) > 0) {
                f = o.size() - o1;
                for (int i1 = 0; i1 < f; i1++) {
                    if (i != 2 || f == 0) {
                        break;
                    } else {
                        System.out.print(" " + o.get(o1));
                        o1++;
                        i = 0;
                    }
                }
            } else {
                i = 0;  //当不符合B条件时给A创建条件
            }
        }
    }
}

